(deftemplate persoana
	(slot nume)
    (slot sex)
    (slot parinte)
    (slot partener)
)

(assert (persoana (nume Emil)(sex M) (parinte null) (partener Viorica) ))
(assert (persoana (nume Viorica)(sex F) (parinte null) (partener Emil) ))
(assert (persoana (nume Ioana)(sex F) (parinte null) (partener Costel) ))
(assert (persoana (nume Costel)(sex M) (parinte null) (partener Ioana) ))
(assert (persoana (nume Alex)(sex M) (parinte null) (partener Iasmina) ))
(assert (persoana (nume Iasmina)(sex F) (parinte Viorica) (partener Alex) ))
(assert (persoana (nume Ion)(sex M) (parinte Viorica) (partener Iasmina) ))
(assert (persoana (nume Maria)(sex F) (parinte Ioana) (partener Ion) ))
(assert (persoana (nume Oana)(sex F) (parinte Ioana) (partener null) ))
(assert (persoana (nume Ana)(sex F) (parinte Ioana) (partener null) ))
(assert (persoana (nume JoseArmando)(sex M) (parinte Iasmina) (partener JuanCarlos) ))
(assert (persoana (nume JuanCarlos)(sex M) (parinte Iasmina) (partener JoseArmando) ))
(assert (persoana (nume George)(sex M) (parinte Maria) (partener Ileana) ))
(assert (persoana (nume Ileana)(sex F) (parinte Maria) (partener George) ))
(assert (persoana (nume Hans)(sex M) (parinte JuanCarlos) (partener null) ))
(assert (persoana (nume Alin)(sex M) (parinte Ana) (partener null) ))

(facts)

(defrule numeTata
	(persoana (nume ?nu)(parinte ?n))
    (persoana(nume ?n) (sex M))
    =>
    (printout t "tatal lui "?nu " este " ?n crlf)
    )

(run)